package com.ruoyi.wifiauth.mapper;

import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;

/**
 * WiFi认证监控Mapper接口
 * 
 * @author ruoyi
 */
public interface WifiAuthMonitorMapper {
    
    /**
     * 获取认证概览统计
     * 
     * @param params 查询参数
     * @return 统计信息
     */
    Map<String, Object> getAuthOverview(Map<String, Object> params);
    
    /**
     * 获取认证趋势数据
     * 
     * @param params 查询参数
     * @return 趋势数据
     */
    List<Map<String, Object>> getAuthTrendData(Map<String, Object> params);
    
    /**
     * 获取认证成功率统计
     * 
     * @param params 查询参数
     * @return 成功率数据
     */
    List<Map<String, Object>> getAuthSuccessRate(Map<String, Object> params);
    
    /**
     * 获取认证耗时分析
     * 
     * @param params 查询参数
     * @return 耗时分析数据
     */
    List<Map<String, Object>> getAuthTimeAnalysis(Map<String, Object> params);
    
    /**
     * 获取失败原因分布
     * 
     * @param params 查询参数
     * @return 失败原因数据
     */
    List<Map<String, Object>> getFailureReasonDistribution(Map<String, Object> params);
    
    /**
     * 获取设备认证排名
     * 
     * @param params 查询参数
     * @return 设备排名数据
     */
    List<Map<String, Object>> getDeviceAuthRank(Map<String, Object> params);
    
    /**
     * 获取用户行为分析
     * 
     * @param params 查询参数
     * @return 用户行为数据
     */
    List<Map<String, Object>> getUserBehaviorAnalysis(Map<String, Object> params);
    
    /**
     * 记录认证过程日志
     * 
     * @param params 认证参数
     * @return 记录结果
     */
    int recordAuthProcess(Map<String, Object> params);
    
    /**
     * 获取实时认证状态
     * 
     * @return 实时状态数据
     */
    List<Map<String, Object>> getRealTimeAuthStatus();
}